<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::ProjectBudgetMaintenanceStrategy&lt; RealVector &gt; Class Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="classshark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4.html">ProjectBudgetMaintenanceStrategy&lt; RealVector &gt;</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classshark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle"><div class="title">shark::ProjectBudgetMaintenanceStrategy&lt; RealVector &gt; Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Budget maintenance strategy that projects a vector.  
 <a href="classshark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_project_budget_maintenance_strategy_8h_source.html">shark/Algorithms/Trainers/Budgeted/ProjectBudgetMaintenanceStrategy.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for shark::ProjectBudgetMaintenanceStrategy&lt; RealVector &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classshark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4__inherit__graph.png" border="0" usemap="#ashark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="ashark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4_inherit__map" id="ashark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4_inherit__map">
<area shape="rect" title="Budget maintenance strategy that projects a vector." alt="" coords="9,94,227,135"/>
<area shape="rect" href="classshark_1_1_abstract_budget_maintenance_strategy.html" title=" " alt="" coords="5,5,231,46"/>
<area shape="poly" title=" " alt="" coords="121,62,121,94,115,94,115,62"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a53e3bfad62d2c2e4d74ccfccfb9faae2" id="r_a53e3bfad62d2c2e4d74ccfccfb9faae2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4.html#a53e3bfad62d2c2e4d74ccfccfb9faae2">ProjectBudgetMaintenanceStrategy</a> ()</td></tr>
<tr class="memdesc:a53e3bfad62d2c2e4d74ccfccfb9faae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor.  <br /></td></tr>
<tr class="separator:a53e3bfad62d2c2e4d74ccfccfb9faae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a716c4803d4a64e0e30ef4d57032ed5d9" id="r_a716c4803d4a64e0e30ef4d57032ed5d9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4.html#a716c4803d4a64e0e30ef4d57032ed5d9">addToModel</a> (<a class="el" href="classshark_1_1_kernel_expansion.html">ModelType</a> &amp;model, InputType const &amp;alpha, ElementType const &amp;supportVector)</td></tr>
<tr class="separator:a716c4803d4a64e0e30ef4d57032ed5d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab3b1e4a1bd156bbb425963c174efaec" id="r_aab3b1e4a1bd156bbb425963c174efaec"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_project_budget_maintenance_strategy_3_01_real_vector_01_4.html#aab3b1e4a1bd156bbb425963c174efaec">name</a> () const</td></tr>
<tr class="memdesc:aab3b1e4a1bd156bbb425963c174efaec"><td class="mdescLeft">&#160;</td><td class="mdescRight">class name  <br /></td></tr>
<tr class="separator:aab3b1e4a1bd156bbb425963c174efaec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_abstract_budget_maintenance_strategy"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_abstract_budget_maintenance_strategy')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html">shark::AbstractBudgetMaintenanceStrategy&lt; RealVector &gt;</a></td></tr>
<tr class="memitem:a2a6d7afdbb1e6dc61f86619dd526a544 inherit pub_methods_classshark_1_1_abstract_budget_maintenance_strategy" id="r_a2a6d7afdbb1e6dc61f86619dd526a544"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#a2a6d7afdbb1e6dc61f86619dd526a544">AbstractBudgetMaintenanceStrategy</a> ()</td></tr>
<tr class="separator:a2a6d7afdbb1e6dc61f86619dd526a544 inherit pub_methods_classshark_1_1_abstract_budget_maintenance_strategy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a763d8224ee45bb2bb727cb05ac002b94 inherit pub_methods_classshark_1_1_abstract_budget_maintenance_strategy" id="r_a763d8224ee45bb2bb727cb05ac002b94"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#a763d8224ee45bb2bb727cb05ac002b94">addToModel</a> (<a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#a2fce0a0656e77df1f5e54bea0d3c9f6b">ModelType</a> &amp;model, RealVector const &amp;alpha, <a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#a4e4e18bcc754402146beb894a7c3d7cd">ElementType</a> const &amp;supportVector)=0</td></tr>
<tr class="separator:a763d8224ee45bb2bb727cb05ac002b94 inherit pub_methods_classshark_1_1_abstract_budget_maintenance_strategy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa96771736bedb9e44f820e871ed98350 inherit pub_methods_classshark_1_1_abstract_budget_maintenance_strategy" id="r_aa96771736bedb9e44f820e871ed98350"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#aa96771736bedb9e44f820e871ed98350">name</a> () const</td></tr>
<tr class="memdesc:aa96771736bedb9e44f820e871ed98350 inherit pub_methods_classshark_1_1_abstract_budget_maintenance_strategy"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the class name  <br /></td></tr>
<tr class="separator:aa96771736bedb9e44f820e871ed98350 inherit pub_methods_classshark_1_1_abstract_budget_maintenance_strategy"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classshark_1_1_abstract_budget_maintenance_strategy"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classshark_1_1_abstract_budget_maintenance_strategy')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html">shark::AbstractBudgetMaintenanceStrategy&lt; RealVector &gt;</a></td></tr>
<tr class="memitem:a2fce0a0656e77df1f5e54bea0d3c9f6b inherit pub_types_classshark_1_1_abstract_budget_maintenance_strategy" id="r_a2fce0a0656e77df1f5e54bea0d3c9f6b"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_kernel_expansion.html">KernelExpansion</a>&lt; RealVector &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#a2fce0a0656e77df1f5e54bea0d3c9f6b">ModelType</a></td></tr>
<tr class="separator:a2fce0a0656e77df1f5e54bea0d3c9f6b inherit pub_types_classshark_1_1_abstract_budget_maintenance_strategy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7027102ef6150ec0de810886b8098718 inherit pub_types_classshark_1_1_abstract_budget_maintenance_strategy" id="r_a7027102ef6150ec0de810886b8098718"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_labeled_data.html">LabeledData</a>&lt; RealVector, unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#a7027102ef6150ec0de810886b8098718">DataType</a></td></tr>
<tr class="separator:a7027102ef6150ec0de810886b8098718 inherit pub_types_classshark_1_1_abstract_budget_maintenance_strategy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e4e18bcc754402146beb894a7c3d7cd inherit pub_types_classshark_1_1_abstract_budget_maintenance_strategy" id="r_a4e4e18bcc754402146beb894a7c3d7cd"><td class="memItemLeft" align="right" valign="top">typedef DataType::element_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#a4e4e18bcc754402146beb894a7c3d7cd">ElementType</a></td></tr>
<tr class="separator:a4e4e18bcc754402146beb894a7c3d7cd inherit pub_types_classshark_1_1_abstract_budget_maintenance_strategy"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classshark_1_1_abstract_budget_maintenance_strategy"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classshark_1_1_abstract_budget_maintenance_strategy')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html">shark::AbstractBudgetMaintenanceStrategy&lt; RealVector &gt;</a></td></tr>
<tr class="memitem:ab6ab9d070c0988b041e96e66888a1841 inherit pub_static_methods_classshark_1_1_abstract_budget_maintenance_strategy" id="r_ab6ab9d070c0988b041e96e66888a1841"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#ab6ab9d070c0988b041e96e66888a1841">findSmallestVector</a> (<a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#a2fce0a0656e77df1f5e54bea0d3c9f6b">ModelType</a> const &amp;model, size_t &amp;minIndex, double &amp;minAlpha)</td></tr>
<tr class="separator:ab6ab9d070c0988b041e96e66888a1841 inherit pub_static_methods_classshark_1_1_abstract_budget_maintenance_strategy"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Budget maintenance strategy that projects a vector. </p>
<dl class="section user"><dt>This is an specialization of the project budget maintenance strategy </dt><dd>that handles simple real-valued vectors. This is a nearly 1:1 adoption of the strategy presented in Wang, Cramer and Vucetic. </dd></dl>

<p class="definition">Definition at line <a class="el" href="_project_budget_maintenance_strategy_8h_source.html#l00104">104</a> of file <a class="el" href="_project_budget_maintenance_strategy_8h_source.html">ProjectBudgetMaintenanceStrategy.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a53e3bfad62d2c2e4d74ccfccfb9faae2" name="a53e3bfad62d2c2e4d74ccfccfb9faae2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53e3bfad62d2c2e4d74ccfccfb9faae2">&#9670;&#160;</a></span>ProjectBudgetMaintenanceStrategy()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_project_budget_maintenance_strategy.html">shark::ProjectBudgetMaintenanceStrategy</a>&lt; RealVector &gt;::ProjectBudgetMaintenanceStrategy </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>constructor. </p>

<p class="definition">Definition at line <a class="el" href="_project_budget_maintenance_strategy_8h_source.html#l00113">113</a> of file <a class="el" href="_project_budget_maintenance_strategy_8h_source.html">ProjectBudgetMaintenanceStrategy.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a716c4803d4a64e0e30ef4d57032ed5d9" name="a716c4803d4a64e0e30ef4d57032ed5d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a716c4803d4a64e0e30ef4d57032ed5d9">&#9670;&#160;</a></span>addToModel()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_project_budget_maintenance_strategy.html">shark::ProjectBudgetMaintenanceStrategy</a>&lt; RealVector &gt;::addToModel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_kernel_expansion.html">ModelType</a> &amp;&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputType const &amp;&#160;</td>
          <td class="paramname"><em>alpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ElementType const &amp;&#160;</td>
          <td class="paramname"><em>supportVector</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>add a vector to the model. this will add the given vector to the model and merge the budget so that afterwards the budget size is kept the same. If the budget has a free entry anyway, no merging will be performed, but instead the given vector is simply added to the budget.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">model</td><td>the model the strategy will work with </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">alpha</td><td>alphas for the new budget vector </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">supportVector</td><td>the vector to add to the model by applying the maintenance strategy </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="_project_budget_maintenance_strategy_8h_source.html#l00127">127</a> of file <a class="el" href="_project_budget_maintenance_strategy_8h_source.html">ProjectBudgetMaintenanceStrategy.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_kernel_expansion.html#a3c65dfd17f38eaa461f6400d302fae48">shark::KernelExpansion&lt; InputType &gt;::alpha()</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#a48c4d31664d347f477cfb305a7b98d61">shark::KernelExpansion&lt; InputType &gt;::basis()</a>, <a class="el" href="group__shark__globals.html#ga409b50a287df842bd49e7434a8bbf69e">shark::createLabeledDataFromRange()</a>, <a class="el" href="group__shark__globals.html#ga0ea72a74a21d5ff59772516b83c4a58b">shark::Data&lt; Type &gt;::element()</a>, <a class="el" href="classshark_1_1_abstract_budget_maintenance_strategy.html#ab6ab9d070c0988b041e96e66888a1841">shark::AbstractBudgetMaintenanceStrategy&lt; InputType &gt;::findSmallestVector()</a>, <a class="el" href="group__shark__globals.html#gae537f0e90beb970397cd7bb9250984e2">shark::inputDimension()</a>, <a class="el" href="group__shark__globals.html#ga6f74e657c7e0c8a32b2456fb328bd653">shark::LabeledData&lt; InputT, LabelT &gt;::inputs()</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#aa7f672e5b1a367ce00545f550596bb0c">shark::KernelExpansion&lt; InputType &gt;::kernel()</a>, <a class="el" href="group__shark__globals.html#ga814e8b0028cc90dd2af69805e8f8a04d">shark::Data&lt; Type &gt;::numberOfElements()</a>, and <a class="el" href="_exception_8h.html#a73abb5049a0168d72a48e72dda41708b">SHARK_ASSERT</a>.</p>

</div>
</div>
<a id="aab3b1e4a1bd156bbb425963c174efaec" name="aab3b1e4a1bd156bbb425963c174efaec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab3b1e4a1bd156bbb425963c174efaec">&#9670;&#160;</a></span>name()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classshark_1_1_project_budget_maintenance_strategy.html">shark::ProjectBudgetMaintenanceStrategy</a>&lt; RealVector &gt;::name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>class name </p>

<p class="definition">Definition at line <a class="el" href="_project_budget_maintenance_strategy_8h_source.html#l00221">221</a> of file <a class="el" href="_project_budget_maintenance_strategy_8h_source.html">ProjectBudgetMaintenanceStrategy.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/shark/Algorithms/Trainers/Budgeted/<a class="el" href="_project_budget_maintenance_strategy_8h_source.html">ProjectBudgetMaintenanceStrategy.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
